DEFINITION MODULE GfxMacros ;

FROM SYSTEM	IMPORT ADDRESS, SHORTSET ;
FROM Graphics	IMPORT RastPortPtr, UCopListPtr ;

(* RASSIZE,InitAnimate & RemBob are in declared in module Graphics *)

PROCEDURE ON_DISPLAY  ;
PROCEDURE OFF_DISPLAY ;
PROCEDURE ON_SPRITE   ;
PROCEDURE OFF_SPRITE  ;
PROCEDURE ON_VBLANK   ;
PROCEDURE OFF_VBLANK  ;

PROCEDURE SetDrPt ( w : RastPortPtr ; p : CARDINAL ) ;
PROCEDURE SetAfPt ( w : RastPortPtr ; p : ADDRESS ; n : SHORTINT ) ;
PROCEDURE SetOPen ( w : RastPortPtr ; c : SHORTINT ) ;
PROCEDURE SetWrMsk( w : RastPortPtr ; m : SHORTSET ) ;

(* the SafeSetxxx macros are backwards (pre V39 graphics) compatible versions *)
(* using these macros will make your code do the right thing under V39 AND V37*)

PROCEDURE SafeSetOutlinePen( w : RastPortPtr ; c : SHORTINT ) ;
PROCEDURE SafeSetWriteMask ( w : RastPortPtr ; m : SHORTSET ) ;

(* synonym for GetOPen for consistency with SetOutlinePen *)
PROCEDURE GetOPen( rp : RastPortPtr ) : LONGINT ;

PROCEDURE BNDRYOFF( w : RastPortPtr ) ;

PROCEDURE CINIT( c : UCopListPtr ; n : LONGINT ) : UCopListPtr ;
PROCEDURE CMOVE( c : UCopListPtr ; a : ADDRESS ; b : LONGINT ) ;
PROCEDURE CWAIT( c : UCopListPtr ; a, b : LONGINT ) ;
PROCEDURE CEND ( c : UCopListPtr ) ;

PROCEDURE DrawCircle( rp : RastPortPtr ; cx, cy, r : LONGINT ) ;
PROCEDURE AreaCircle( rp : RastPortPtr ; cx, cy, r : LONGINT ) : LONGINT ;

END GfxMacros.
